

import 'package:baselib/utils/navigator_util.dart';
import 'package:flutter/material.dart';
import 'package:framelib/base/base_view_model.dart';
import 'package:framelib/config/route_config.dart';
import 'package:get/state_manager.dart';
import 'package:get/get.dart';

class SplashViewModel extends BaseViewModel with GetTickerProviderStateMixin{

  late AnimationController controller;
  late Animation<double> animation;

  @override
  void onInit() {
    super.onInit();
    controller = AnimationController(vsync: this, duration: Duration(milliseconds: 3100));
    animation = Tween(begin: 0.0, end: 1.0).animate(controller);
    //上面两行代码表示初始化一个Animation控制器， vsync垂直同步，动画执行时间3000毫秒,然后我们设置一个Animation动画，使用上面设置的控制器
    //监听动画运行状态，当状态为completed时，动画执行结束，跳转首页
    animation.addStatusListener((status){
      if(status == AnimationStatus.completed){
        NavigatorUtil.offAllByName( RouteConfig.homePage);
      }
    });
    controller.forward(); // 播放动画

  }
  @override
  void dispose() {
    if(controller!=null)controller.dispose();//释放动画
    super.dispose();
  }
  @override
  void onReady() {
    super.onReady();
  }
}
